package modulo;

import grafica.Grafica;
import grafica.base.RettangoloBase;
import grafica.vista.GiocatoreVista;

public class ListaGiocatori implements InterfacciaListaGiocatori{
	
	
	private Giocatore[] giocatori;
	private Grafica grafica;
	private int mode;
	/**
	 * @return the tipoGrafica
	 */
	public Grafica getGrafica() {
		return grafica;
	}
	/**
	 * @param tipoGrafica the tipoGrafica to set
	 */
	public void setGrafica(Grafica tipoGrafica) {
		this.grafica = tipoGrafica;
	}
	/**
	 * @return the modalità
	 */
	public int getModalita() {
		return mode;
	}
	/**
	 * @param modalità the modalità to set
	 */
	public void setMode(int modalita) {
		this.mode= modalita;
	}
	public ListaGiocatori(int n) {
		giocatori=new Giocatore[n];
	}
	
	/**
	 * @return the giocatori
	 */
	public Giocatore[] getElencoGiocatori() {
		return giocatori;
	}
	/**
	 * @param giocatori the giocatori to set
	 */
	public void setElencoGiocatori(Giocatore[] giocatori) {
		this.giocatori = giocatori;
	}

	
	
	public boolean controlloPosizioneValida(RettangoloBase istanza){
		GiocatoreVista vista=grafica.getTipoVistaGiocatore();
		for (int j = 1; j < giocatori.length; j++) {
			vista.setIstanza(giocatori[j]);
			if(vista.intersezioneRettangolo(istanza)&&giocatori[j].isVivo()){
				return false;
			}	
		}
		return true;
	}
	public void setGiocatorePrincipale(Giocatore giocator){
		this.giocatori[0]=giocator;
	}
	public Giocatore getGiocatorePrincipale(){
		return giocatori[0];
	}
	
}
